// pages/home/workshop/nfc/nfc.js
import { byteToString } from '../../../../utils/nfc'
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.NFCReadCard()
  },
  NFCReadCard: function(){
    let adapter = wx.getNFCAdapter()
    console.log("my adapter：",adapter)
    adapter.startDiscovery({
    success:(e)=>{
      console.log('开始监听贴卡',e)
      adapter.onDiscovered(function (res){
        console.log('读到卡片了', res);
        var arr = [0x30, 0x01];
        // var arr = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF];
        var arrayBuffer = new Int8Array(arr).buffer;
        if(res.techs.includes(adapter.tech.nfcA)){
          console.log('发现【'+adapter.tech.nfcA+'】卡'); 
          let nfcA = adapter.getNfcA();
          app.nfcA = nfcA;
          nfcA.connect({
            success: function(res){
              console.log('设备已连接', res)
              nfcA.transceive({
                // data: new ArrayBuffer(0),
                data: arrayBuffer,
                success: function(res){
                  console.log('发送数据成功, 接收数据如下:', res);
                  // var utf8 = new Uint8Array(res.data);
                  console.log("解析arrayBuffer：",byteToString(res.data))
                  console.log("解析arrayBuffer2：",JSON.parse(byteToString(res.data)))
                },
                fail: function(err){
                  console.log('发送数据失败：', err);
                }
              })
            },
            fail: function(err){
              console.log('设备联接错误：', err);
            }
          });
        }
      })
    }})
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})